/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package validacion;

/**
 *
 * @author Deico
 */
public class vrut {
    
      public static boolean isRut(String Elrun){

        if(Elrun!=null || !Elrun.isEmpty()){
            
            String digitos;
            String digitov;
            String Temp[];
            int rut,digito,suma=0,resto,resultado=0,factor,verificador;
            int tamano = Elrun.length();

           
            if(tamano < 8)
                return false;

             Temp = Elrun.split("-");
            
             digitos = Temp[0];
             digitov = Temp[1];
             
            try{
                rut = Integer.parseInt(digitos);

                if(!digitov.equalsIgnoreCase("K"))
                verificador = Integer.parseInt(digitov);

                else verificador = 11;
            }

            catch(NumberFormatException e){

                return false;
            }


            for(factor = 2, suma = 0; rut > 0; factor++){

                digito = rut % 10;
                rut /= 10;
                suma += digito * factor;

                if(factor >= 7) factor = 1; //Para volver al ciclo
            }
            // Ahora viene el algoritmo del módulo 11
            resto = suma % 11;
            resultado = 11 -resto;

            if(resultado == 10 && digitov.equalsIgnoreCase("K") )
               return true;

            if(resultado == 11 && verificador == 0)
                return true;

            if(verificador == resultado)
                return true;

        }

        return false;
    }
}
